// 在这个文件里面 注册全局的 自定义指令
// app.directive('指令', { 钩子函数 })
import { App } from "vue";
import store from "@/store";

// 这是一个用户按钮按钮级的权限的指令
const permissionDirective = (app: App<Element>) => {
  app.directive('permisson', {
    // 通过判断 当前登录的用户的 权限数据，决定按钮是否出现在dom树里面
    // 在munted里面判断
    mounted(el, binding) {
      const permissions = store.getters['globalPermissions'] as string[]
      // 把权限对应的 单词 作为指令的值
      if (!permissions.includes(binding.value)) {
        // 如果没有对应的权限 把对应的按钮删除
        el.remove();
      }
    }
  })
}


export const regDirectives = (app: App<Element>) => {
  permissionDirective(app);
  // 如果还要注册别的指令，就继续调用外面声明的函数注册
}